<?php
date_default_timezone_set('America/Argentina/Buenos_Aires');
use Doctrine\DBAL\Types\DateType;
class Asignatura extends CI_Controller {
		
		function Asignatura () {
			parent::__construct();
			
			$this->load->helper('url');
			$this->load->helper('form');
		}
		
		function index () {
			$data['title']='Asignatura';
			$data['heading']='Agregar Asignatura';
			
			$data['result']= $this->getAllOrderBy('nombre');
			$asignatura = new Entities\Asignatura;
			$ordenanza= new Entities\Ordenanza;
    		$asignatura->setIdordenanza($ordenanza);
    		$carrera= new Entities\Carrera;
    		$asignatura->setIdcarrera($carrera);
			$data['registro']=$asignatura;
			$data['action']='agregar';
			$data['submit']='Agregar';
			$this -> load -> view('asignatura_view',$data);
		}
		
		public function getAll()
		{
		    $asignaturas = $this->doctrine->em->getRepository('Entities\Asignatura')->findAll();
			return $asignaturas;
		}
		
		public function getAllOrderBy($orden)
		{
		    //
		    $asignaturas = $this->doctrine->em->createQuery('SELECT p FROM Entities\Asignatura p ORDER BY p.'. $orden .' ASC')->getResult(); 
			return $asignaturas;
		}
		
		public function remove ($id)
		{
			$asignatura = $this->doctrine->em->find('Entities\Asignatura',$id);
			$this->doctrine->em->remove($asignatura);
			$this->doctrine->em->flush();
			redirect('asignatura');
		}
		
		public function agregar()
		{
			$asignatura = new Entities\Asignatura;
    		$asignatura->setNombre($_POST["tx_nombre"]);
    		$asignatura->setCantidadhoras($_POST["tx_canthoras"]);
    		$asignatura->setEsobligatoria($_POST["tx_esobligatoria"]);
    	
    		$ordenanza=$this->doctrine->em->find('Entities\Ordenanza',$_POST["tx_ordenanza"]);
    		$asignatura->setIdordenanza($ordenanza);
    		$carrera=$this->doctrine->em->find('Entities\Carrera',$_POST["tx_carrera"]);
    		$asignatura->setIdcarrera($carrera);
    		
    		$this->doctrine->em->persist($asignatura);
    		$this->doctrine->em->flush();
    		redirect('asignatura');
		}
		
		public function editar ($id)
		{
			$asignatura = $this->doctrine->em->find('Entities\Asignatura',$id);
			$data['title']='Asignatura';
			$data['heading']='Actualizar Asignatura';
			
			$data['result']= $this->getAllOrderBy('nombre');
			$data['registro']=$asignatura;
			$data['action']='actualizar';
			$data['submit']='Actualizar';
			$this -> load -> view('asignatura_view',$data);
		}
		
		public function actualizar($id)
		{
			$asignatura = $this->doctrine->em->find('Entities\Asignatura',$id);
    		$asignatura->setNombre($_POST["tx_nombre"]);
    		$asignatura->setCantidadhoras($_POST["tx_canthoras"]);
    		$asignatura->setEsobligatoria($_POST["tx_esobligatoria"]);
    		
    		$ordenanza=$this->doctrine->em->find('Entities\Ordenanza',$_POST["tx_ordenanza"]);
    		$asignatura->setIdordenanza($ordenanza);
    		$carrera=$this->doctrine->em->find('Entities\Ordenanza',$_POST["tx_carrera"]);
    		$asignatura->setIdcarrera($carrera);
    		
    		$this->doctrine->em->persist($asignatura);
    		$this->doctrine->em->flush();
    		redirect('asignatura');
		}
}
?>